Make the xim module build without root getters
authorMatthias Clasen <mclasen@redhat.com>
Wed, 9 Aug 2017 00:31:00 +0000 (20:31 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 11 Aug 2017 19:45:24 +0000 (15:45 -0400)
This is X specific code anyway, so no need to use
generic GDK api for this.

modules/input/gtkimcontextxim.c

index 58bd3a822d412eca08639f437cc56a59d896591b..4a8d3ca141e252b73730a6785279dab8fcc6ed6c 100644 (file)
@@ -660,14 +660,12 @@ gtk_im_context_xim_filter_keypress (GtkIMContext *context,
   KeySym keysym;
   Status status;
   gboolean result = FALSE;
-  GdkWindow *root_window;
   GdkWindow *window;
   XKeyPressedEvent xevent;
 
   if (event->type == GDK_KEY_RELEASE && !context_xim->filter_key_release)
     return FALSE;
 
-  root_window = gdk_screen_get_root_window (gdk_window_get_screen (event->window));
   window = gdk_window_get_toplevel (event->window);
 
   xevent.type = (event->type == GDK_KEY_PRESS) ? KeyPress : KeyRelease;
@@ -675,7 +673,7 @@ gtk_im_context_xim_filter_keypress (GtkIMContext *context,
   xevent.send_event = event->send_event;
   xevent.display = GDK_WINDOW_XDISPLAY (window);
   xevent.window = GDK_WINDOW_XID (window);
-  xevent.root = GDK_WINDOW_XID (root_window);
+  xevent.root = DefaultRootWindow(GDK_WINDOW_XDISPLAY (window));
   xevent.subwindow = xevent.window;
   xevent.time = event->time;
   xevent.x = xevent.x_root = 0;
@@ -1638,7 +1636,7 @@ on_status_toplevel_configure (GtkWidget         *toplevel,
 
   if (status_window->window)
     {
-      height = gdk_window_get_height (gdk_screen_get_root_window (gtk_widget_get_screen (toplevel)));
+      height = DisplayHeight(GDK_WINDOW_XDISPLAY (gtk_widget_get_window (toplevel)), 0);
 
       gdk_window_get_frame_extents (gtk_widget_get_window (toplevel),
                                     &rect);